It is known for the architecture of a Relational Database Management System (RDBMS) to include agents. Agents are processes or threads defined and used by the database system to accept and process application requests made to the RDBMS. In a transaction-bounded relational database system such as the DB2® Universal Database RDBMS, an agent is associated with a single application for the duration of a transaction, or unit of work. On completion of a transaction, the associated agent is made available for use by other applications.
Typically, for each agent in the database system there is a set of information associated with the agent. Such information is used by the agent during processing of requests received by the agent from a given application and is collectively referred to as the agent's working memory. The organization of the contents of working memory for an agent will effect how efficiently an agent can be assigned to a new application. On the assignment of an agent to a new application, the content of the agent's working memory is loaded with information needed for the agent to execute requests from the new application. The steps carried out to set up the agent's working memory on the transfer of an agent from one application to another are an overhead cost in the operation of a database system.
It is therefore desirable to organize working memory in an RDBMS to permit agents to efficiently switch between applications. If the modification of the working memory when an agent is switched between applications can be avoided or minimized, a significant performance gain may be achieved.